// 封装倒计时逻辑函数
import dayjs from "dayjs"
export const useCountDown = () => {
    // 定时器
    let timer = null
    // 1.第一个是响应式数据
    const time = ref(0)
    // 格式化时间 xx分xx秒
    const formatTime = computed(() => dayjs.unix(time.value).format('mm分ss秒'))
    // 2.第二是开启倒计时的函数
    const start = (currentTime) => {
        // 开始倒计时的逻辑
        // 核心逻辑编写：每隔一秒钟减一
        time.value = currentTime
        timer = setInterval(() => {
            time.value--
        }, 1000)
        if (time.value <= 0) {
            // 存在的时候清除定时器
            timer && clearInterval(timer)
            time.value = 0
        }
    }
    // 组件销毁时清除定时器
    onUnmounted(() => {
        timer && clearInterval(timer)
    })

    return {
        formatTime,
        start
    }
}